package com.bai.localshop.pojo.entity;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import com.baomidou.mybatisplus.annotation.*;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 购物车实体类
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("shopping_cart")
public class ShoppingCart implements Serializable {
    private static final long serialVersionUID = 1L;

    @TableId(type = IdType.AUTO)
    private Long id;

    // 用户ID
    private Long userId;

    // 商品ID（关联商品表）
    private Long productId;

    // 商品数量
    private Integer quantity;

    // 加入购物车时的商品单价（快照）
    private Long unitPrice;

    // 总金额（quantity * unitPrice）
    private Long totalAmount;

    // 商品名称快照
    private String productName;

    // 商品图片快照
    private String productImage;

    // 状态：0-下架，1-正常，2-库存不足，3-已删除
    private Integer status;

    // 创建时间
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    // 更新时间
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;

    // 创建人（通常是userId）
    @TableField(fill = FieldFill.INSERT)
    private Long createUser;

    // 更新人
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Long updateUser;
}